package com.example.videoworks.service;

import com.example.videoworks.common.Page;
import com.example.videoworks.controller.request.GetListRequest;
import com.example.videoworks.entity.Work;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Lily
 * @since 2023-05-11
 */
public interface IWorkService extends IService<Work> {
    public Page<Work> getWorkById(GetListRequest request, String id);
    public Work getWork(String id, Integer ordering);
    public Page<Work> findWorkByTitle(GetListRequest request, String title);
    public Page<Work> rateOneTypeWork(GetListRequest request, String type);
    public  Page<Work> rateOneTypeWorkByStartyear(GetListRequest request, String type);
    public Page<Work> searchOnType(GetListRequest request, String searchParam, String type);
    public Page<Work> filterType(GetListRequest request, String type);
    public Page<Work> filterGenre(GetListRequest request, String genre);
    public Page<Work> filterRegion(GetListRequest request, String region);
    public Page<Work> advancedSearch(GetListRequest request,
                                     String searchParam, String lowerYear, String upperYear, String type, String region, String genre);
    public Page<Work> SearchOrderRating(GetListRequest request,
                                     String searchParam, String lowerYear, String upperYear, String type, String region, String genre);
    public Page<Work> SearchOrderYear(GetListRequest request,
                                     String searchParam, String lowerYear, String upperYear, String type, String region, String genre);

}
